package com.moli.iov.base.remote;

import com.moli.iov.base.model.dto.SysParamSettingsCacheBean;
import com.moli.iov.base.model.dto.req.SysParamSettingsQueryReqDto;
import com.moli.iov.base.model.dto.req.SysParamSettingsReqDto;
import com.moli.iov.base.model.dto.res.SysParamSettingsResDto;
import com.moli.iov.model.dto.req.PageExtend;
import com.moli.iov.rest.RestResponse;
import java.util.List;
import java.util.Map;

/**
 *
 * 系统设置
 *
 * @author whl
 */
public interface ISysParamSettingsRemoteService {

  /**
   * 初始化系统设置
   * @param userDto
   *
   * @return
   */
  public RestResponse  initSysParamSettings(SysParamSettingsReqDto userDto);

  /**
   * 修改
   *
   * @param dto
   * @return
   */
  public  RestResponse updateSysParamSettings(SysParamSettingsReqDto dto);


  /**
   * 列表
   * @param reqDto
   * @return
   */
  public PageExtend<SysParamSettingsResDto> listSysParamSettings(SysParamSettingsQueryReqDto reqDto);

  /**
   * 报警服务专用
   * @param vinList
   * @return
   */
  public RestResponse<Map<String,SysParamSettingsCacheBean>>getSysParamSettingsCacheBeanByVin( List<String> vinList);

  /**
   * 列表
   *
   * @param companyId the company id
   * @return rest response
   */
  public RestResponse<List<SysParamSettingsResDto>> listSysParamSettingsOp(Long companyId);

}
